$(function(){
	listEmplCate();
	
})
// 添加员工类型的函数
function saveEmplCate(btnObject){
	var name = $("#ecName").val();
	var remark = $("#ecRemark").val();
	console.log(name,remark);
	// 判断非空
	if(name == null || name == ""){
		alert("请检查员工类型名称是否已经填写！");
		return false;
	}else {
		$.ajax({
			type : "post",
			url : "saveEmplCate.action",
			dataType : "json",
			data : { // 发送到服务器的数据
				"employeeCategory.name" : name,
				"employeeCategory.remark" : remark
			},
			success : function(result) {
				console.log(result);
				alert("员工类型添加成功！");
				location.reload(); //强制页面刷新。。异步何用？
			},
			error : function() {
				console.log("员工类型添加失败，请稍后重试！");
				return false;
			}
		});
	}
}
// 查询所有员工类型
function listEmplCate(){
	$.ajax({
		type : "post",
		url : "listEmplCate.action",
		dataType : "json",
		data : {},
		success : function(result) {
			//console.log(result);
			var data = eval("(" + result + ")");
			
			$("#ecTable tbody").html('');
			$("#moEC").html('');
			for (var i = 0; i < data.length; i++) {
				var d = data[i];
				$("#ecTable tbody").append(
						'<tr>' + 
							'<td>' + d.id + '</td>' + 
							'<td>' + d.name + '</td>' + 
							'<td>' + d.remark + '</td>' +
							'<td>' + d.gmtCreate + '</td>' + 
							'<td>' + d.gmtModified + '</td>' + 
							'<td>' + 
								'<div class="visible-md visible-lg hidden-sm hidden-xs action-buttons">' + 
									'<button class="btn btn-xs btn-info" data-toggle="modal" data-target="#model'+i+'">' +
										'<i class="icon-edit bigger-120"> 修改</i>' +
									'</button>' +
									'<button onclick="deleteEmplCate(' + d.id + ')" ' + 'class="btn btn-xs btn-danger">' + 
										'<i class="icon-trash bigger-120"> 删除</i></button>' + 		
								'</div>' + 
							'</td>' +
						'</tr>');
	
				// 修改的模态框
				$("#moEC").append(
						'<div class="modal fade" id="model'+i+'" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">'+
							'<div class="modal-dialog" role="document">'+
								'<div class="modal-content">'+
									'<div class="modal-header">'+
										'<button type="button" class="close" data-dismiss="modal" aria-label="Close">'+
											'<span aria-hidden="true">&times;</span>'+
										'</button>'+
										'<h4 class="modal-title" id="myModalLabel">修改员工类型</h4>'+
									'</div>'+
									'<div class="modal-body">'+
										'<div class="row">'+
											'<div class="col-xs-12">'+
												'<div class="form-group">'+
													'<label class="col-sm-3"> 员工类型ID</label>'+
													'<input type="text" value="' + d.id + '" readonly="readonly">'+
												'</div>'+
												'<div class="form-group">'+
													'<label class="col-sm-3"> 员工类型名称 </label>'+
														'<input type="text" value="' + d.name + '">'+
												'</div>'+
												
												'<div class="form-group">'+
													'<label class="col-sm-3"> 备注 </label>'+
														'<input type="text" value="' + d.remark + '">'+
												'</div>'+
											'</div>'+
										'</div>'+
									'</div>'+
									'<div class="modal-footer">'+
										'<button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>'+
										'<button onclick="updateEmplCate('+d.id+',this)" class="btn btn-primary">更改</button>'+
									'</div>'+
								'</div>'+
							'</div>'+
						'</div>');
				
			};			
				
			// datatables 初始化
			var table = $("#ecTable").dataTable({				
			//"stateSave" : true, // 保持状态
			"oLanguage" : { // 设置语言
				"sProcessing" : "正在加载中......",
				"sLengthMenu" : "每页显示 _MENU_ 条记录",
				"sZeroRecords" : "对不起，查询不到相关数据！",
				'sSearch' : '检索:',
				"sEmptyTable" : "表中无数据存在！",
				"sInfo" : "当前显示 _START_ 到 _END_ 条，共 _TOTAL_ 条记录",
				"sInfoFiltered" : "数据表中共为 _MAX_ 条记录",
				"oPaginate" : {
					"sFirst" : "首页",
					"sPrevious" : "上一页",
					"sNext" : "下一页",
					"sLast" : "末页"
					}
				}
			});	
		},
		error : function() {
			console.log("查询所有员工类型，填充表格时出现错误，请稍后重试！")
		}
	});
}
// 删除员工类型
function deleteEmplCate(id){
	// 查出所有员工判断该类型下是否有员工
	$.ajax({
		type : "post",
		url : "listEmployee.action",
		dataType : "json",
		data : {},
		success : function(result) {
			var data = eval("(" + result + ")");
			console.log("所有员工:"+result);
			var canDel = 1; //1可删除，0不可删除
			for (var i = 0; i < data.length; i++) {
				var d = data[i];
				console.log(id);
				console.log(d.employeeCategoryId);
				if (d.employeeCategoryId == id) {
					canDel = 0;
					break;
				}
			}
			if(canDel == 0){
				// canDel = 1;
				// console.log(canDel);
				alert("所删类型下有员工，不能删除！");
				return false;
			}
			else { //删除操作
				$.ajax({
					type : "post",
					url : "deleteEmplCate.action",
					dataType : "json",
					data : { // 发送到服务器的数据
						"employeeCategory.id" : id
					},
					success : function(result) {
						//console.log(result);
						alert("员工类型删除成功！");
						location.reload(); //强制页面刷新...异步何用？
					},
					error : function() {
						alert("员工类型删除时出现错误，请稍后重试！")
						return false;
					}
				});
			}
		}
	})	
}
// 更新员工类型
function updateEmplCate(id,btnObject) {
	// 使用jquery找出位置，获取值后赋值给变量
	var name = $(btnObject).parent().prev().children().eq(0).children().eq(0).children().eq(1).children().eq(1).val();
	var remark = $(btnObject).parent().prev().children().eq(0).children().eq(0).children().eq(2).children().eq(1).val();
	console.log(name);
	// 判断非空
	if(name == null || name == ""){
		alert("请检查员工类型名称是否已经填写！");
		return false;
	} else {
		$.ajax({
			type : "post",
			url : "updateEmplCate.action",
			dataType : "json",
			data : { // 发送到服务器的数据
				"employeeCategory.id" : id,
				"employeeCategory.name" : name,
				"employeeCategory.remark" : remark
			},
			success : function(result) {
				console.log(result);
				alert("员工类型更新成功！");
				location.reload(); //强制页面刷新。。异步何用？
			},
			error : function() {
				alert("更新员工类型时出现错误，请稍后重试！");
				return false;
			}
		});
	}
	
};
